package Modelo;
import java.util.Vector;

import Persistencia.AdministradorPersistenciaCliente;



public class Cliente {
	private String nombre;
	private String apellido;
	private String dni;
	private String domicilio;
	private int telefono;
	private String email;
	private Vector<Linea> linea;
	private int estado;	

	
	public Cliente(String dni, String apellido,  String nombre, String domicilio, int telefono, String email, int estado) {
		this();
		this.nombre = nombre;
		this.apellido = apellido;
		this.dni = dni;
		this.domicilio = domicilio;
		this.telefono = telefono;
		this.email = email;
		this.estado = estado;
		linea = new Vector<Linea>();
	}
	
	public Cliente() {
		linea = new Vector<Linea>();
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	
	public String getDni() {
		return dni;
	}

	public String getApellido() {
		return apellido;
	}
	
	public void setDni(String dni) {
		this.dni = dni;
	}

	public void setDomicilio (String domicilio) {
		this.domicilio = domicilio;
	}
	
	public void setTelefono(int telefono) {
		this.telefono = telefono;
	}
	
	public void setEmail(String email) {
		this.email = email;
	}

	public void setEstado(int estado) {
		this.estado = estado;
	}
	
	public String getDomicilio() {
		return domicilio;
	}
	public int getTelefono() {
		return telefono;
	}
	
	public Vector<Linea> getLineas(){
		return this.linea;
	}

	public String getEmail() {
		return email;
	}
	

	public int getEstado() {
		return estado;
	}
	
	
	

	public void addLineaCliente(Linea l) {
		if (linea == null)
			linea = new Vector<Linea>();
		linea.add(l);
	}
	
	public Cliente buscarCliente (String dni)
	{
	return AdministradorPersistenciaCliente.getInstancia().buscarCliente(dni);	
	}

	
	public boolean actualizarCliente (Cliente c)
	{	
	 return AdministradorPersistenciaCliente.getInstancia().update(c);	
	}

	
	public boolean altaCliente (Cliente c)
	{	
	 return AdministradorPersistenciaCliente.getInstancia().insert(c);	
	}

	
	
	
	
	
	public boolean altaLinea (int numero, Cliente clinete, Plan plan)
	{
	return false;	
	}

	public void addLinea (Linea unaLinea)
	{
		if (linea == null) 
		{	
		linea = new Vector<Linea>();
		linea.add(unaLinea);
		}
		else
		linea.add(unaLinea);
	}
	
	public int lineasPorCliente ()
	{
		if (linea == null)
			return 0;
		return linea.size(); 
	}
	
	public Linea getLineaPorNumero (int unaLinea)
	{
		for (int i = 0; i < linea.size(); i++) 
		{
			Linea l = linea.elementAt(i);
			if (l.getNumero() == unaLinea) 
			{
			 return l;
			}
		}
		return null;
	}
	
}
